Generating Data Flow Programs from Nonprocedural Specifications
نویسنده
چکیده
Data flow is a mode of parallel computation in which parallelism in a program can be exploited at the fine grained as well as macro level. A data flow computer executes a data dependency graph rather than the program counter controlled sequence of instructions executed by conventional machines. Nonprocedural languages appear to be especially appropriate high level languages for data flow computers. Nonprocedural languages have only two statement forms: data description and assertion. The assertions enumerate the relationships among the data. A data dependency graph is also a suitable representation for a nonprocedural language program (or specification). This research is concerned with translating the dependency graph form of a specification to a program graph for a data flow machine. Specifications in the MODEL language are translated into an intermediate form, the data flow template. The template is a language-independent representation of the specification. The template is then translated into a data flow language (Manchester Dataflow) for the Manchester University machine. The translation consists of creating an array graph to represent the specification; generating the data flow program template from the array graph; and translating the template into MaD. Comments University of Pennsylvania Department of Computer and Information Science Technical Report No. MSCIS-83-154. This technical report is available at ScholarlyCommons: http://repository.upenn.edu/cis_reports/607 University of Pennsylvania Department of Computer and Information Science Moore 'Schoo1 of Electrical Engineering Philadelphia, Pennsylvania 19104
منابع مشابه
Value Flow Graph Analysis with SATIrE
This work discusses implementation of partial redundancy elimination using the value flow graph, a syntactic program representation modeling semantic equivalences. It allows the combination of simple syntactic partial redundancy elimination with a powerful semantic analysis. This yields an optimization that is computationally optimal and simpler than traditional semantic methods. A source-to-so...
متن کاملReverse Software Engineering of Concurrent Real Time Programs
This paper presents an algorithm for translating concurrent procedural language programs into nonprocedural, mathematical language programs, called specifications. The goal is to achieve reuse of old existing programs in developing new systems, through having them explained automatically and facilitating their modification. Mathematical languages are widely believed to be superior to procedural...
متن کاملSynthesis of Logic Programs from Object-Oriented Formal Specifications
Early validation of requirements is crucial for the rigorous development of software. Without it, even the most formal of the methodologies will produce the wrong outcome. One successful approach, popularised by some of the so-called lightweight formal methods, consists in generating (finite, small) models of the specifications. Another possibility is to build a running prototype from those spe...
متن کاملExecutable Specifications in an Object Oriented Formal Notation
Early validation of requirements is crucial for the rigorous development of software. Without it, even the most formal of the methodologies will produce the wrong outcome. One successful approach, popularised by some of the so-called lightweight formal methods, consists in generating (finite, small) models of the specifications. Another possibility is to build a running prototype from those spe...
متن کاملGenerating Data Flow Analysis Algorithms from Modal Specifications
The paper develops a framework that is based on the idea that modal logic provides an appropriate framework for the speciication of data ow analysis (DFA) algorithms as soon as programs are represented as models of the logic. This can be exploited to construct a DFA-generator that generates eecient implementations of DFA-algorithms from modal speciications by partially evaluating a speciic mode...
متن کامل